package model

import (
	"time"
)

// XxlJobLog
type XxlJobLog struct {
	Id                     int64     `gorm:"primarykey,column:id"`             //
	JobGroup               int64     `gorm:"column:job_group"`                 // 执行器主键ID
	JobId                  int64     `gorm:"column:job_id"`                    // 任务，主键ID
	ExecutorAddress        string    `gorm:"column:executor_address"`          // 执行器地址，本次执行的地址
	ExecutorHandler        string    `gorm:"column:executor_handler"`          // 执行器任务handler
	ExecutorParam          string    `gorm:"column:executor_param"`            // 执行器任务参数
	ExecutorShardingParam  string    `gorm:"column:executor_sharding_param"`   // 执行器任务分片参数，格式如 1/2
	ExecutorFailRetryCount int32     `gorm:"column:executor_fail_retry_count"` // 失败重试次数
	TriggerTime            time.Time `gorm:"column:trigger_time"`              // 调度-时间
	TriggerCode            int32     `gorm:"column:trigger_code"`              // 调度-结果
	TriggerMsg             string    `gorm:"column:trigger_msg"`               // 调度-日志
	HandleTime             time.Time `gorm:"column:handle_time"`               // 执行-时间
	HandleCode             int32     `gorm:"column:handle_code"`               // 执行-状态
	HandleMsg              string    `gorm:"column:handle_msg"`                // 执行-日志
	AlarmStatus            int8      `gorm:"column:alarm_status"`              // 告警状态：0-默认、1-无需告警、2-告警成功、3-告警失败

}

// TableName 自定义表名
func (u *XxlJobLog) TableName() string {
	return "xxl_job_log"
}
